package com.panda.crud.logic.delete.auto.fill.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panda.crud.logic.delete.auto.fill.entity.Result;
import com.panda.crud.logic.delete.auto.fill.entity.User;
import com.panda.crud.logic.delete.auto.fill.entity.UserQuery;

import java.util.List;

public interface UserService extends IService<User> {
    List<User> queryUserList(UserQuery query);

    User queryUser(Long id);

    Boolean addUser(User user);

    Boolean addUsers(List<User> users);

    Boolean saveOrUpdateBatch(List<User> users);

    Boolean updateUserById(User user);

    Boolean updateUser(User user);

    Boolean updateBatchById(List<User> users);

    Boolean deleteById(Long id);

    Boolean deleteUserByIds(List<Long> ids);

    Boolean deleteUserById(User user);

    Boolean deleteUser(User user);

    Result<Page<User>> pageUsers(UserQuery userQuery);

//    Boolean updateUserById(UserQuery userQuery);

    User queryByUserId(Long userId);

    Boolean updateAllTable();

    Boolean deleteAllTable();

    List<User> getUserByTableName(UserQuery userQuery);
}
